package leetcode_1000;

/**
 * @author 周杨
 * 2018年11月18日 下午12:21:29 反转一个字符串里面的字母
 * ReverseOnlyLetters_917.java
 * description:双指针遍历  AC 100%
 */
public class ReverseOnlyLetters_917 {
	public String reverseOnlyLetters(String S) {
        char []chars=S.toCharArray();
        int left=0,right=chars.length-1;
        while(left<right) {
        	while(left<right&&!help(chars[left])) ++left;
        	while(left<right&&!help(chars[right])) --right;
        	char temp=chars[left];
        	chars[left]=chars[right];
        	chars[right]=temp;
        	++left;
        	--right;
        }
        return new String(chars);
    }
	
	public boolean help(char c) {
		if(c<='z'&&c>='a'||c<='Z'&&c>='A') return true;
		return false;
	}
}
